<template>
	<ucs-svg :width="size" :height="size" :src="iconSvg" />
</template>
<script setup lang="uts">
	/**
	 * @description 《病菌》图标
	 * @tutorial https://ucs.cloudsimpler.com/library/ucs-iconPark
	 * @property {Number} size 图标大小
	 * @property {Number} strokeWidth 线段粗细
	 * @property {String} theme 图标大小
	 * @property {Array<string>} fill 图标颜色，["外部描边颜色","外部填充颜色","内部描边颜色","内部填充颜色"]
	 * @property {String} strokeLinecap 图标大小
	 * @property {String} strokeLinejoin 图标大小
	 */
	import { colors, IiconParkProps } from "../../mixins/iconParkMixin.uts";
	import { computed } from "vue";
	
	const props = withDefaults(defineProps<IiconParkProps>(), {
		size: 24,
		strokeWidth: 4,
		theme: 'outline',
		fill: ["#000000"],
		strokeLinecap: 'round',
		strokeLinejoin: 'round'
	});

	const iconSvg = computed(() : string => {
		return `<?xml version="1.0" encoding="UTF-8"?><svg width="${props.size}" height="${props.size}" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M24 44.0002C25.3357 44.0002 26.3638 40.25 27.6262 40.0002C28.9267 39.743 30.4588 42.979 31.6554 42.4828C32.8729 41.9779 32.4053 38.8668 33.4874 38.1424C34.5781 37.4122 37.2174 39.0671 38.1421 38.1424C39.0668 37.2177 36.6639 34.0909 37.3941 33.0002C38.1186 31.9181 41.9777 32.8732 42.4825 31.6557C42.9787 30.4591 39.179 28.1133 39.4362 26.8128C39.686 25.5504 44 25.3359 44 24.0002C44 22.6646 40.2497 21.3595 40 20.0971C39.7427 18.7966 42.9787 17.5414 42.4825 16.3448C41.9777 15.1273 38.1186 16.0824 37.3941 15.0002C36.6639 13.9096 39.0668 10.7828 38.1421 9.85811C37.2174 8.9334 34.0907 10.9491 33 10.219C31.9178 9.49451 32.8729 6.02257 31.6554 5.51772C30.4588 5.02154 28.3005 7.90462 27 7.64735C25.7376 7.39762 25.3357 4.00024 24 4.00024C22.6643 4.00024 22.12 7.39762 20.8577 7.64735C19.5571 7.90462 17.5412 5.02154 16.3446 5.51772C15.1271 6.02257 16.0822 9.13365 15 9.85811C13.9093 10.5883 10.7826 8.9334 9.85786 9.85811C8.93315 10.7828 11.5248 13.9096 10.7947 15.0002C10.0702 16.0824 6.02232 15.1273 5.51747 16.3448C5.02129 17.5414 8.25728 19.2395 8 20.54C7.75028 21.8024 4 22.6646 4 24.0002C4 25.3359 8.09721 25.9273 8.34694 27.1897C8.60421 28.4902 5.02129 30.4591 5.51747 31.6557C6.02232 32.8732 9.80669 31.9181 10.5312 33.0002C11.2613 34.0909 8.93315 37.2177 9.85786 38.1424C10.7826 39.0671 13.9093 36.855 15 37.5851C16.0822 38.3096 15.1271 41.9779 16.3446 42.4828C17.5412 42.979 19.5571 39.743 20.8577 40.0002C22.12 40.25 22.6643 44.0002 24 44.0002Z" fill="${colors(props.theme, props.fill, 1)}" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M29 29.0002C31.2091 29.0002 33 27.2094 33 25.0002C33 22.7911 31.2091 21.0002 29 21.0002C26.7909 21.0002 25 22.7911 25 25.0002C25 27.2094 26.7909 29.0002 29 29.0002Z" fill="${colors(props.theme, props.fill, 3)}" stroke="${colors(props.theme, props.fill, 2)}" stroke-width="${props.strokeWidth}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M16.5 26.0002C17.8807 26.0002 19 24.881 19 23.5002C19 22.1195 17.8807 21.0002 16.5 21.0002C15.1193 21.0002 14 22.1195 14 23.5002C14 24.881 15.1193 26.0002 16.5 26.0002Z" fill="${colors(props.theme, props.fill, 2)}"/></svg>`
	});
</script>